wayland: Force the grab cursor while a grab is active
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 8 Jan 2016 20:45:03 +0000 (21:45 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 8 Jan 2016 21:01:25 +0000 (22:01 +0100)
commitad0fc8ae7e24f47120520072cd6089a2ad8d3b5f
treead51ee1387cf81803bd31cee9ded2d17c6971734
parent23b629e27cd1449b0af708e69af94d532a577270
wayland: Force the grab cursor while a grab is active

When a cursor is specified in gdk_seat_grab(), the cursor is reverted as
soon as the pointer enters or leaves another window.

To avoid this issue, store the grab cursor separately, so we force-apply
it in ::set_window_cursor(). Also, unset early the seat info from the
window on gdk_seat_ungrab(), so the next time switch_to_pointer_grab()
happens we end up picking the cursor set for the window underneath the
pointer window.

Based on a patch by Olivier Fourdan <ofourdan@redhat.com>.

https://bugzilla.gnome.org/show_bug.cgi?id=760213
gdk/wayland/gdkdevice-wayland.c